home *** CD-ROM | disk | FTP | other *** search
- This is a fairly unorder list of changes created as Xgopher 1.3
- was under development. Most of these items are digested into
- a more ordered form in the Xgopher 1.3 announcement (file Announce).
-
- ------------------------------------------------------------------------------
- Changes in Xgopher 1.3
-
- documentation:
-
- . new "Customization" document aids in setting Xgopher resources.
- . new "Porting" document aids in solving problems installing Xgopher
- on some platforms
- . new "Sun-names" document to aid those with Sun's that can't find
- other host names. Also, new document "Sunlib-rebuild"
- . Other new documents to describe new features: "Extended-types", "Popups"
- . fixed minor documentation errors and omissions in manual page, help file.
- Added new features to manual page.
-
- fixes:
-
- . fixed bug when allowCopy is false or allowBookmarkSave is False
- . fixed bug: item info string was not dynamic, but tried to free() it.
- . restart will now pop down the "enter-single-item" and "index query" panels.
- . added binary type (9) to item info panel.
- . moved help button on CSO name server panel to the right end for consistency.
- . changed value of text scrollbar border color resource to better distinguish
- . changed message when app-defaults file is not available to make it clearer.
- . improved type compatibility and include files for additional machines.
- (suggested by Malte Uhl, malte@techfak.uni-bielefeld.de, in posting)
- . The last-resort Makefile, Makefile.NoNo, is now included. It was left off
- the tar file of the previous release by accident.
- . in help.c, changed close() to fclose(), twice. Thanks for finding this
- Rafael Perez Mu|oz <rafaelp@ba.unex.es>.
-
- additions and changes:
-
- . updated documentation to describe changes described in this list, and
- to update contents to describe the current version of Xgopher.
- (xgopher.help, README, and other files).
- . added extended types - allows you to add or redefine types to Xgopher
- with no changes to the program. A new document, "Extended-types"
- describes the use of this feature. This addition is based on prior
- work by Claude Lecommandeur (lecom@sic.epfl.ch) of Ecole Polytechnique
- Federale de Lausanne. His work served as a prototype for this.
- . Status popup now reports all Xgopher status and gives a running
- account of its progress. The cancel button can abort a request.
- . Positioning of all popups can be configured from the resources file.
- The default positions are similar to previous versions.
- . index search and cso popups now direct all keyboard input to their text
- fields so the pointer need not stay in that little area while you type.
- . file save/copy interaction is improved. Attempts to write to an
- existing file are detected and you are asked to select from overwrite,
- append, or select a new file name. Also, current working directory
- is displayed and the directory may be changed.
- . privacy - log and temp files are created with owner read/write
- permissions only. (Also erroneous execute permission was removed.)
- Files copied or saved are created with mode 666 modified by the processes
- umask. So, by default most copied/saved files will have global read
- and owner read/write permission. These modes may all be set in conf.h.
- scrollbar.
- . changed leading tilde in pathnames to allow other users besides self.
- (e.g., ~anyone/ now works, before it was just ~/.)
- . Added ICCCM compliance for communicating with the window manager. Xgopher
- now understands the WM_DELETE_WINDOW protocol and will not die if the
- window manager asks to remove an auxiliary window. Killing the main
- Xgopher panel this way gives the program a change to clean up after itself
- equivalent to pressing the quit button.
- . So as not to stay around as a zombie process, Xgopher kills all of its
- children on exit. Grandchildren and other descendents are not explicitly
- handled.
- . All top-level windows now have icon names. The CSO name server is
- named via a resources in the resources file (CSO Name Server), and
- text window icons are assigned the name of the subject - also the
- name in the window's title bar. This can be overridden.
- . Main gopher window title is set via resources to include the version number.
- . CSO name server panel phone book name has more obvious font.
- . added resource to optionally suppress single gopher item entry panel.
- . "Enter gopher item" will be primed with the values of the fields
- of any directory item or bookmark currently selected. If nothing
- is selected, the values are unchanged from its previous appearance.
- Also, a "clear fields" button sets everything back to almost null.
- . changes boolean resource "showAll" to an enumerated type. New resource
- "showItems" can take a value from {all, known, accessible, available}.
- . added "quitApp" action to the main panel. Default translation is for
- control-D in the main panel to quit the application. (Note that this
- is not delivered as a Unix signal as with say control-C in a terminal
- window, but as an X event that causes an action. So, do not expect
- the immediate asynchronous behavior that signals cause. The action
- will often be handled quickly, but not immediately if the Xgopher
- is busy with other processing. Change in the resource file.
- . added Xgopher version to the resources file to help installing new
- versions of Xgopher -- to get the right resource file processed.
- . New resources (commonText and concurrentText) to limit the number
- of concurrent text windows displayed. You can limit the number of
- text displays to N, or to N each of textfile/help/info types.
- If additional text, help or info information is requested, the oldest
- of that type is reused in place. If the limit is set, text windows
- may have another button, "hold", which will keep this window's
- contents to be kept, overriding the limit.
- [[ Text popups are limited to "n" at a time. For example, "n" could be 1.
- All text together may be subject to "n" -or- gopher-retrieved files,
- raw item info, and xgopher help may be each individually subject to "n".
- This way you can always keep for example, one info window and one text
- window up at the same time. When "n" is exceeded then the oldest one
- (of the same type) is reused. If there is some popup that you then
- want to keep visible and later dismiss, the text popup has a "hold"
- button on it that will accomplish this. The hold button is only created
- if you request a text window limit. ]]
- See man page for details.
- . Additional resources to aid support of a public-access (secure-mode)
- Xgopher terminal. These include an enumeration of gopher servers
- allowed to provide image/sound/text data to this client session. Also,
- allowFtp, and publicMode, a convenience resource to set several
- security options at once.
- . Defined ^U (control-U) translation to all input text fields to erase the
- contents of the current line. (Change to the Xgopher.ad file only.)
- . Moved virtually all constraint resources into the source from the
- resource file. These are usually not easy to change without a source
- change anyway. This removes about 160 lines from the resource file.
- Resources that affect appearance are still user-accessible.
- . Text displays no longer show the insert cursor (they are read only anyway).
- . Index popup is now a transient shell, so window managers with
- "interactive placement" won't force you to place it. Text popups
- were changed to topLevelShellWidgetClass, but this should have
- no noticeable effect.
- . New resource, warpCursor, will automatically position the mouse
- pointer into an index, save, or name server window when the window
- is popped up. Default behavior is never to warp the pointer.
- . Slight change to speed up input of directories and indexs. Noticeably
- faster when data comes from a slow server.
-
- Other
-
- . Considerable restructuring of the code to process individual gopher item
- types. The data and procedures for each item are better encapsulated.
- There should be little behavioral change due to this restructuring,
- but it is now considerably easier to add items or find all places that
- may affect a given item.
- . Finally tried to compile on a Sun Sparc running Solaris 2.1. Although,
- I could only use the /usr/ucb/cc compiler (clean compile and execution)
- Two other people ported the 1.3-beta release to Solaris. I had to make
- changes to both sets of patchs to ensure portability across other systems
- though (so blame me for errors). I want to thank
- Ian MacPhedran <macphed@dvinci.usask.ca> and
- Edwin Allum <edwin@csri.toronto.edu>
- for the Solaris port.
- . A new section of the Implementation document describes how to add an
- item using the new organization. This was never documented before.
- . Changes to the file organization; new subdirectories for some source
- and for documentation.
-